package com.jacky.二叉树;

public class 二叉树的最小深度_111 {

    public int minDepth(TreeNode root) {
        //如果根节点=null,直接返回0
        if (root == null) return 0;
        //如果左子树为null,那就返回右子树的深度
        if (root.left == null) return minDepth(root.right) + 1;
        //如果右子树为null,那就返回左子树的深度
        if (root.right == null) return minDepth(root.left) + 1;
        //递归获得左子树深度
        int leftDepth = minDepth(root.left);
        //递归获得右子树深度
        int rightDepth = minDepth(root.right);
        //获得左右子树中较小时的值加1
        return 1 + Math.min(leftDepth, rightDepth);
    }
}
